package de.tudarmstadt.gdi1.project.cipher.substitution;

import java.util.LinkedList;

/* Aufgabe 11.1
 * PinBoard stellt das Steckbrett der Enigma dar
 * @author Sabrina Diehl
 */

public class PinBoard implements de.tudarmstadt.gdi1.project.cipher.enigma.PinBoard{
	
	LinkedList<Character> Kabel = new LinkedList<Character>();
	
	/* Verkabelung ist eine Hilffunktion und stellt die Verbindung zweier Buchstaben dar
	 * @param a ist ein Buchstabe der verbunden wird
	 * @param b ist der zweite Buchstabe
	 */
	
	public void Verkabelung(char a, char b){
		Kabel.add(a);
		Kabel.add(b);
	}
	
	/* translate stellt die Umsetzung des Steckbretts dar
	 * @param c ist der zu Uebersetzende Buchstabe
	 * @return gibt den neuen Wert von c aus
	 */

	@Override
	public char translate(char c) {
		if ((c == Kabel.get(0)) || (c == Kabel.get(1))){//Uebersetzung bei Verbindung
			if (c == Kabel.get(0)){
				c = Kabel.get(0);
				return c;
			}
			c = Kabel.get(1);
			return c;
		}
		return c;//Uebersetzung ohne Verbindung, der Buchstabe ist mit sich selbst Verbunden
	}

}
